/*能发送 ajax 请求的函数模块
包装 axios
函数的返回值是 promise 对象
axios.get()/post()返回的就是 promise 对象
返回自己创建的 promise 对象:
统一处理请求异常
异步返回结果数据, 而不是包含结果数据的 response
*/
import axios from 'axios'
import { message } from 'antd'
export default function ajax(url, data = {}, method = 'GET') {
    return new Promise(function (resolve, reject) {
        let promise
        // 执行异步 ajax 请求
        if (method === 'GET') {
            promise = axios.get(url, { params: data }) // params 配置指定的是 query 参数
        } else {
            promise = axios.post(url, data)
        }
        promise.then(response => {
            // 如果成功了, 调用 resolve(response.data)
            resolve(response.data)
        }).catch(error => { // 对所有 ajax 请求出错做统一处理, 外层就不用再处理错误了
            // 如果失败了, 提示请求后台出错
            message.error('请求错误: ' + error.message)
        })
    })
}